#pragma once
#define USE_STD_SDL 0

namespace utl
{
	class allocator
	{
	public:
		//constexpr allocator() {}
		constexpr allocator(const char* pName = "utl") {}
		constexpr allocator(const allocator& x) {}
		constexpr allocator(const allocator& x, const char* pName) {}

		allocator& operator=(const allocator& x) {return*this;}

		void* allocate(unsigned long n, int flags = 0);
		void* allocate(unsigned long n, unsigned long alignment, unsigned long offset, int flags = 0);
		void  deallocate(void* p, unsigned long n = 0);

		const char* get_name() const { return nullptr; }
		void        set_name(const char* pName) {}
		void        set_name(const char* pName) const {}
	};



	bool operator==(const allocator& a, const allocator& b);
	bool operator!=(const allocator& a, const allocator& b);

	//void delete_free(void* p);
	//void* create_malloc(unsigned long n);
	
}